#pragma once
const int g_inumPlayers = 4;
const int g_inumDiffMeshes = 5;
const int g_inumPieces = 4;
const int g_iallBoardSpots = 84;
const int g_inumOfCards = 40; //num of total cards
const int g_inumOfPlayerCards = 14; //num of total cards
const int g_inumOfDifferentCards = 17; //num of total cards

//YBOX side on the board is 0 to 15
const int g_iYboxSide=15;
const int g_iPCSide=30;
const int g_iFS3Side=45;
const int g_iWeeSide=60;

#define SORRY_CARD  0
#define WEE_SPECIAL_CARD 13
#define PC_SPECIAL_CARD 14
#define YBOX_SPECIAL_CARD 15
#define FUNSTATION_SPECIAL_CARD 16


struct XYZ	
{	float  x, y,z;
	XYZ operator=(float);
	XYZ operator+(XYZ);		
	XYZ operator-(XYZ);
	XYZ operator*(XYZ);
	XYZ operator/(float);
	bool operator>(XYZ);	// overloads =
	bool operator<(XYZ);	// overloads =
    bool operator!=(char);	// overloads =
	bool operator==(XYZ);
	bool XYZ::operator>=(XYZ right);
	bool compare(XYZ); // returns a 1 or 0
	
//overloader

};

//easy function to set the XYZ
XYZ set(float x,float y,float z);
struct Square	
{	
	int index;// internal counter
	XYZ pos;

	
//overloader

};

const int SCREEN_WIDTH= 800;
const int SCREEN_HEIGHT= 600;
struct Dimensions
{
	int width, height;

	Dimensions() { width = 800; height = 600; }				// set window size to 800x600 by default
	Dimensions(int w, int h) { width = w; height = h; }
};

enum eMainState
{
	GAME,
	MENU,
	MOVIE,
	SHUTDOWN
};

//idenitfy the piece for the player
enum ePieces
{
	ONE,
	TWO,
	THREE,
	FOUR
};

//idenitfy the system for the player
enum eConsoleType
{
	FS3,
	YBOX,
	PC,
	WEE
};

// mesh indices
enum eMeshTypes
{
	
	FS3_MESH,
	YBOX_MESH,
	PC_MESH,
	WEE_MESH,
	BOARD_MESH,
	NUM_MESHES
};

enum eObjectTypes
{
	PIECE,
	BOARD
};